package com.msmall.community.common.dao;

import java.util.List;

import com.msmall.base.dao.BaseDao;
import com.msmall.community.common.model.City;

public interface CityDao extends BaseDao<City, String>{
	
	/**
	 * 获得所有最高级别的区域信息，直辖市和省
	 * @return
	 */
	public List<City> getTopCities() throws Exception;
	
	/**
	 * 通过区划码获得直接子级的所有城市
	 * 需要判断当前区域所在级别， 1级获得2级， 2级获得3级， 如果是直辖市直接由1级获得3级
	 * @param code 110000
	 * @param direct 是否直辖市
	 * @param level 等级
	 * @return
	 * @throws Exception
	 */
	public List<City> getChildCities(String code, boolean direct, int level) throws Exception;
	
	/**
	 * 通过区划码获得直接子级的所有城市
	 * 需要判断当前区域所在级别， 1级获得2级， 2级获得3级， 如果是直辖市直接由1级获得3级
	 * 作为天气使用，如果数据库没有weather_code 值，则过滤掉
	 * @param code 110000
	 * @return
	 * @throws Exception
	 */
	public List<City> getWeatherChildCities(String code, boolean direct, int level) throws Exception;
}
